package com.whw.fy.service.impl;

import com.whw.fy.entity.Message;
import com.whw.fy.entity.Staff;
import com.whw.fy.mapper.StaffMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.whw.fy.mapper.MessageboxMapper;
import java.util.List;
import com.whw.fy.entity.Messagebox;
import com.whw.fy.service.MessageboxService;
@Service
public class MessageboxServiceImpl implements MessageboxService{

    @Resource
    private MessageboxMapper messageboxMapper;
    @Resource
    private StaffMapper staffMapper;

    @Override
    public Message deleteByPrimaryKey(Integer messageboxId) {
        return messageboxMapper.deleteByPrimaryKey(messageboxId)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message insert(Messagebox record) {
        return messageboxMapper.insert(record)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message insertSelective(Messagebox record) {
        return messageboxMapper.insertSelective(record)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message selectByPrimaryKey(Integer messageboxId) {
        Messagebox messagebox = messageboxMapper.selectByPrimaryKey(messageboxId);
        if (messagebox.getMessageboxPostUserId()==-1)
        messagebox.setMessageboxPostUserName("系统");
        else messagebox.setMessageboxPostUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxPostUserId()).getStaffName());
        messagebox.setMessageboxReceiveUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxReceiveUserId()).getStaffName());
        return Message.success(null).add(messagebox);
    }

    @Override
    public Message updateByPrimaryKeySelective(Messagebox record) {
        return messageboxMapper.updateByPrimaryKeySelective(record)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message updateByPrimaryKey(Messagebox record) {
        return messageboxMapper.updateByPrimaryKey(record)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message selectAll() {
        List<Messagebox> messageboxList = messageboxMapper.selectAll();
        for (Messagebox messagebox:messageboxList){
            if (messagebox.getMessageboxPostUserId()==-1)
                messagebox.setMessageboxPostUserName("系统");
            else messagebox.setMessageboxPostUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxPostUserId()).getStaffName());
            messagebox.setMessageboxReceiveUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxReceiveUserId()).getStaffName());
        }

        return Message.success(null).add(messageboxList);
    }

    @Override
    public Message selectAllByMessageboxReceiveUserIdAndMessageboxStatus(Integer messageboxReceiveUserId,Integer messageboxStatus) {
        List<Messagebox> messageboxList = messageboxMapper.selectAllByMessageboxReceiveUserIdAndMessageboxStatus(messageboxReceiveUserId,messageboxStatus);
        for (Messagebox messagebox:messageboxList){
            if (messagebox.getMessageboxPostUserId()==-1)
                messagebox.setMessageboxPostUserName("系统");
            else messagebox.setMessageboxPostUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxPostUserId()).getStaffName());
            messagebox.setMessageboxReceiveUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxReceiveUserId()).getStaffName());
        }
        return Message.success(null).add(messageboxList);
    }

    @Override
    public Message selectByMessageboxReceiveUserId(Integer messageboxReceiveUserId) {
        List<Messagebox> messageboxList = messageboxMapper.selectByMessageboxReceiveUserId(messageboxReceiveUserId);
        for (Messagebox messagebox:messageboxList){
            if (messagebox.getMessageboxPostUserId()==-1)
                messagebox.setMessageboxPostUserName("系统");
            else messagebox.setMessageboxPostUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxPostUserId()).getStaffName());
            messagebox.setMessageboxReceiveUserName(staffMapper.selectByPrimaryKey(messagebox.getMessageboxReceiveUserId()).getStaffName());
        }
        return Message.success(null).add(messageboxList);
    }

    @Override
    public Message updateMessageboxStatusByMessageboxId(Integer updatedMessageboxStatus,Integer messageboxId) {
        return messageboxMapper.updateMessageboxStatusByMessageboxId(updatedMessageboxStatus,messageboxId)>0?Message.success(null):Message.fail(null);
    }

    @Override
    public Message batchInsert(List<Messagebox> list) {
        return messageboxMapper.batchInsert(list)>0?Message.success(null):Message.fail(null);
    }

}
